POV-Ray : Newsgroups : povray.programming : POV Plug-ins (was Re: pov to moray conversions: possible?) : Re: POV Plug-ins (was Re: pov to moray conversions: possible?) Server Time
28 Jul 2024 16:22:01 EDT (-0400)
  Re: POV Plug-ins (was Re: pov to moray conversions: possible?)  
From: Chris Huff
Date: 19 Mar 2000 09:39:18
Message: <chrishuff_99-92A0F1.09411919032000@news.povray.org>
In article <38d4b640$1@news.povray.org>, "Ian Burgmyer" 
<the### [at] hotmailcom> wrote:

> Yeah, you're right.  Then again, there's an interpreted language.

You mean a language you could write plugins in and then refer to their 
files from a scene file?
Sounds a lot like POV-Script and include files, doesn't it?


> How?  All it would be is a module adding to the existing code, even if a
> cross-platform binary were possible.

But that module could do just about anything once it is called, unless 
it is written in an interpreted language, in which case we already have 
the "plugin" feature.


> Also, what would be the use of cross-platform plugins?  For instance, 
> a file export/import plugin would likely only be useful for that 
> specific OS. Exporting Moray files, for instance, on a Linux version 
> of POV-Ray would be a waste of time.

Most people think of plugins as doing the same things that include files 
and macros do now. And I don't see how they would be very useful 
otherwise...remove that one part and you don't have much left. I doubt 
that import/export plugins will represent a large portion of their use.
If there was a way to make a cross platform plugin that was called from 
POV script by object notation, like this:
PLUGIN_NAME {PARAMETERS, OBJECT MODIFIERS}

it would be very useful.
It could be made to use POV-Script, but that would make it nearly 
impossible to write things like import/export plugins. Maybe a kind of 
macro, "plugin_object" or something(I can't think of anything better at 
the moment), which would make a new "plugin" when #declared.
Something like this:
// START PLUGIN INCLUDE FILE
#declare Tree =
plugin_object {
    parameters {RecuseDepth, Branches, BranchAngle}
    ...
    // POV-Script that does whatever the plugin is supposed to do
}
// END PLUGIN INCLUDE FILE


// START SCENE FILE
Tree {
    RecurseDepth 5
    Branches 2
    BranchAngle 30
}
// END SCENE FILE

Or maybe it could be declared with something more like macro notation:
#plugin_object PLUGIN_NAME(PARAMETERS)
...
#end
Only the way it is called would be different.

Just a jumble of random, half-finished, caffeine deprived thoughts. I'm 
going to get some coffee now...

-- 
Chris Huff
e-mail: chr### [at] yahoocom
Web page: http://chrishuff.dhs.org/


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.